package presentation;

import java.awt.Dimension;
import java.awt.Frame;
import java.awt.GridLayout;
import java.awt.event.KeyEvent;

import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;

import controle.ControlJButtonSaveGroupe;

import abstraction.Cours;
import abstraction.Groupe;
import abstraction.Module;

/** classe qui crée la fenetre qui s'affiche lors de la création ou de la modification d'un groupe
 * 
 * @author PICOSSON
 *
 */
public class GroupeDialog extends JDialog {

	private static final long serialVersionUID = 1L;

	private JTextField id;
	private JTextField encadrant;
	private Cours modele;
	private int id_groupe;

	/**
	 * 
	 * @param parent
	 * @param modele
	 * @param creation
	 */
	public GroupeDialog(Frame parent, Cours modele, boolean creation) {
		super(parent, "Groupe", true);
		this.setMinimumSize(new Dimension(200, 100));

		this.getContentPane().setLayout(new GridLayout(1, 3));

		JPanel form = new JPanel(new GridLayout(5, 1));
		form.setBorder(BorderFactory.createEmptyBorder(6, 6, 6, 6));

		form.add(new JLabel("Nom du Groupe"));
		id = new JTextField();
		form.add(id);
		form.add(new JLabel("Encadrant"));
		encadrant = new JTextField();
		form.add(encadrant);
		JPanel buttons = new JPanel();
		JButton save = new JButton("OK");
		save.setMnemonic(KeyEvent.VK_ENTER);
		this.getRootPane().setDefaultButton(save);

		save.addActionListener(new ControlJButtonSaveGroupe(this, modele,
				creation));
		buttons.add(save);
		form.add(buttons);

		this.getContentPane().add(form);
		
		if (!creation) {
			Groupe courante = modele.findGroupe(modele.getGroupeCourant());
			id.setText(courante.getNom());
			encadrant.setText(courante.getEncadrant());
			id_groupe = courante.getId_groupe();
		}  
		else{
			this.id_groupe = -1;
		}

		this.pack();
		super.setLocationRelativeTo(parent);
	}

	public int getId_groupe() {
		return id_groupe;
	}

	public void setId_groupe(int id_groupe) {
		this.id_groupe = id_groupe;
	}
	
	public String getNomGroupe() {
		return id.getText();		
}

public String getEncadrant() {
	return encadrant.getText();
}

}
